﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LWH.ByteProtocol
{
    /// <summary>
    /// 抽象属性类，设定属性类的基本框架
    /// </summary>
    public abstract class AbstractProperty : IProperty
    {
        protected internal abstract void setIndex(int index);

        public abstract int getIndex();

        protected internal abstract OwnerProperty getOwnerProperty();

        protected internal abstract int getOwnerOffset();

        protected internal abstract byte[] getSrcData();

        public abstract int getLength();

        public abstract int getOffset();

        public abstract byte[] getData();

        public abstract void setData(byte[] data, int offset, int length);

        public abstract bool handleProperty(Dictionary<string, object> context);
    }
}
